/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package edu.upc.clase.demo.controller;

import edu.upc.clase.demo.entity.Pregunta;
import edu.upc.clase.demo.entity.Usuarios;
import edu.upc.clase.demo.service.PreguntaService;
import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.support.SessionStatus;
import org.springframework.web.servlet.ModelAndView;

/**
 *
 * @author Cesar
 */
@Controller("preguntaController")
public class PreguntaController {
    
     @Autowired
    private PreguntaService preguntaService;
    private static Logger log = LoggerFactory.getLogger(PreguntaController.class);
    private Object pregunta;
    
    @RequestMapping("/usuarios/index")
    public ModelAndView index() {
        ModelAndView mav = new ModelAndView("pregunta/index");
        List<Pregunta> pregunta = preguntaService.buscarTodos();
        mav.addObject("pregunta", pregunta);
        return mav;
    }
    @RequestMapping(value = "/pregunta/new", method = RequestMethod.GET)
    public ModelAndView newPregunta() {
        ModelAndView mav = new ModelAndView("pregunta/new");
        Pregunta pregunta = new Pregunta();
        mav.getModelMap().put("pregunta", pregunta);
        return mav;
    }

    @RequestMapping(value = "/pregunta/new", method = RequestMethod.POST)
    public String createPregunta(@ModelAttribute("pregunta")Pregunta pregunta, SessionStatus status) {    
        preguntaService.insertar(pregunta);
        status.setComplete();
        return "redirect:/pages/pregunta/index";
    }
    
        @RequestMapping(value = "/pregunta/edit", method = RequestMethod.GET)
    public ModelAndView editPregunta(@RequestParam("idPregunta")Integer idPregunta) {    
        ModelAndView mav = new ModelAndView("pregunta/edit");
        Pregunta pregunta = preguntaService.buscar(idPregunta);
        mav.getModelMap().put("pregunta", pregunta);
        return mav;        
    }
    @RequestMapping(value="/pregunta/edit", method=RequestMethod.POST)
    public String update(@ModelAttribute("pregunta") Pregunta pregunta, SessionStatus status) {
        preguntaService.actualizar(pregunta);
        status.setComplete();
        return "redirect:/pages/pregunta/index";
    }
        @RequestMapping("/pregunta/delete")
    public ModelAndView delete(@RequestParam("idPregunta")Integer idPregunta)
    {
        ModelAndView mav = new ModelAndView("redirect:/pages/pregunta/index");
        Pregunta pregunta = preguntaService.buscar(idPregunta);
        preguntaService.eliminar(pregunta);
        return mav;
    }
}
